package com.wh.wisdomsite.xbox.ba.entity;

import com.baomidou.mybatisplus.activerecord.Model;
import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.annotations.TableName;
import com.baomidou.mybatisplus.enums.IdType;

import java.io.Serializable;
import java.sql.Timestamp;

/**
 * xbox框架-Xbox日志表
 * @Package com.wh.wisdomsite.xbox.ba.entity
 * @author 谢泽鹏
 * @date 2014年10月8日 下午4:02:14
 * @Copyright 个人版权所有
 * @Company 贵州万华科技有限公司Copyright (c) 2014
 * @version V1.0
 */
@TableName("xbox_log")
public class XboxLog extends Model<XboxLog> {

    /**
     * 日志编号
     */
    @TableId(type = IdType.UUID)
    private String id;

    /**
     * appKey秘钥
     */
    @TableField("T_APP_KEY")
    private String appKey;

    /**
     * 服务方法
     */
    @TableField("T_METHOD")
    private String method;

    /**
     * 服务版本
     */
    @TableField("T_VERSION")
    private String version;

    /**
     * 语言方式[zh_CN, en]
     */
    @TableField("T_LOCALE")
    private String locale;

    /**
     * 数据格式[json, xml]
     */
    @TableField("T_FORMAT")
    private String format;

    /**
     * sign签名
     */
    @TableField("T_SIGN")
    private String sign;

    /**
     * 调用方式[SYNC, ASYNC]
     */
    @TableField("T_EXECUTION_TYPE")
    private String executionType;


    /**
     * 请求方式[GET, POST]
     */
    @TableField("T_HTTP_ACTION")
    private String httpAction;


    /**
     * 业务参数
     */
    @TableField(exist=false)
    private String bindObject;

    /**
     * 执行耗时(毫秒)
     */
    @TableField("T_DURATION")
    private String duration;

    /**
     * 响应编码
     */
    @TableField("T_SERVICE_CODE")
    private String serviceCode;

    /**
     * 响应消息
     */
    @TableField("T_SERVICE_MESSAGE")
    private String serviceMessage;

    /**
     * 会话标识
     */
    @TableField("T_SESSION_ID")
    private String sessionId;

    /**
     * 用户编号
     */
    @TableField("T_SESSION_USERID")
    private String sessionUserId;

    /**
     * 手机号码
     */
    @TableField("T_SESSION_PHONE")
    private String sessionPhone;

    /**
     * 用户名
     */
    @TableField("T_SESSION_USERNAME")
    private String sessionUserName;

    /**
     * 执行结果[1: 成功, 0：失败]
     */
    @TableField("T_EXECUTE_STATUS")
    private Integer executeStatus;

    /**
     * 请求Ip
     */
    @TableField("T_IP")
    private String ip;

    /**
     * 请求开始时间
     */
    @TableField("T_CREATE_DATE")
    private Timestamp createDate;

    /**
     * 请求结束时间
     */
    @TableField("T_UPDATE_DATE")
    private Timestamp updateDate;

    /**
     * 调用类型(ANDROID, IOS, HTML5)
     */
    @TableField("T_CALL_TYPE")
    private String callType;

    /**
     * 调用版本
     */
    @TableField("T_CALL_VERSION")
    private String callVersion;

    /**
     * 系统平台
     */
    @TableField("T_CLIENT")
    private String client;

    /**
     * 应用品牌
     */
    @TableField("T_APP_BRAND")
    private String appBrand;

    /**
     * 应用信息（[系统版本号] || [手机型号] || [操作系统] ）采集扩展等
     */
    @TableField("T_APP_BASEINFO")
    private String appBaseInfo;

    /**
     * 响应结果
     */
    @TableField(exist=false)
    private String output;

    /**
     * 异常信息
     */
    @TableField(exist=false)
    private String exception;


    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getAppKey() {
        return appKey;
    }

    public void setAppKey(String appKey) {
        this.appKey = appKey;
    }

    public String getMethod() {
        return method;
    }

    public void setMethod(String method) {
        this.method = method;
    }

    public String getVersion() {
        return version;
    }

    public void setVersion(String version) {
        this.version = version;
    }

    public String getLocale() {
        return locale;
    }

    public void setLocale(String locale) {
        this.locale = locale;
    }

    public String getFormat() {
        return format;
    }

    public void setFormat(String format) {
        this.format = format;
    }

    public String getSign() {
        return sign;
    }

    public void setSign(String sign) {
        this.sign = sign;
    }

    public String getExecutionType() {
        return executionType;
    }

    public void setExecutionType(String executionType) {
        this.executionType = executionType;
    }

    public String getHttpAction() {
        return httpAction;
    }

    public void setHttpAction(String httpAction) {
        this.httpAction = httpAction;
    }

    public String getBindObject() {
        return bindObject;
    }

    public void setBindObject(String bindObject) {
        this.bindObject = bindObject;
    }

    public String getDuration() {
        return duration;
    }

    public void setDuration(String duration) {
        this.duration = duration;
    }

    public String getServiceCode() {
        return serviceCode;
    }

    public void setServiceCode(String serviceCode) {
        this.serviceCode = serviceCode;
    }

    public String getServiceMessage() {
        return serviceMessage;
    }

    public void setServiceMessage(String serviceMessage) {
        this.serviceMessage = serviceMessage;
    }

    public String getSessionId() {
        return sessionId;
    }

    public void setSessionId(String sessionId) {
        this.sessionId = sessionId;
    }

    public String getSessionUserId() {
        return sessionUserId;
    }

    public void setSessionUserId(String sessionUserId) {
        this.sessionUserId = sessionUserId;
    }

    public String getSessionPhone() {
        return sessionPhone;
    }

    public void setSessionPhone(String sessionPhone) {
        this.sessionPhone = sessionPhone;
    }

    public String getSessionUserName() {
        return sessionUserName;
    }

    public void setSessionUserName(String sessionUserName) {
        this.sessionUserName = sessionUserName;
    }

    public Integer getExecuteStatus() {
        return executeStatus;
    }

    public void setExecuteStatus(Integer executeStatus) {
        this.executeStatus = executeStatus;
    }

    public String getIp() {
        return ip;
    }

    public void setIp(String ip) {
        this.ip = ip;
    }

    public Timestamp getCreateDate() {
        return createDate;
    }

    public void setCreateDate(Timestamp createDate) {
        this.createDate = createDate;
    }

    public Timestamp getUpdateDate() {
        return updateDate;
    }

    public void setUpdateDate(Timestamp updateDate) {
        this.updateDate = updateDate;
    }

    public String getCallType() {
        return callType;
    }

    public void setCallType(String callType) {
        this.callType = callType;
    }

    public String getCallVersion() {
        return callVersion;
    }

    public void setCallVersion(String callVersion) {
        this.callVersion = callVersion;
    }

    public String getClient() {
        return client;
    }

    public void setClient(String client) {
        this.client = client;
    }

    public String getAppBrand() {
        return appBrand;
    }

    public void setAppBrand(String appBrand) {
        this.appBrand = appBrand;
    }

    public String getAppBaseInfo() {
        return appBaseInfo;
    }

    public void setAppBaseInfo(String appBaseInfo) {
        this.appBaseInfo = appBaseInfo;
    }

    public String getOutput() {
        return output;
    }

    public void setOutput(String output) {
        this.output = output;
    }

    public String getException() {
        return exception;
    }

    public void setException(String exception) {
        this.exception = exception;
    }

    @Override
    protected Serializable pkVal() {
        return this.id;
    }
}
